import os
from src.globle import *

def find_files():
    CLEAR_SCREEN['clear']()
    print_head(head=[
        ".......................文件查找.........................."
        "..........查找的文件名或路径名保存在本目录下的find开头的txt文件中......."
    ])
    print_menu_options(menu_options=[
        "按名称查找文件(区分大小写)",
        "按名称查找文件(不区分大小写)",
        "按文件内容查找(只在home和data目录下查找--原则上用户数据都在这俩目录)",
        "按文件内容查找(自定义目录)",
        "查找源里的软件包",
        "查找本机所有安装的软件包",
        "查找本机是否安装软件包--如输入linuxqq看有没有安装qq",
        "查找源里的软件包"
    ])
    select_menu(menu_dict={
        '0': return_to_previous_menu,
        '1': findname('file_case'),
        '2': findname('file_nocase'),
        '3': findname('file_content'),
        '4': findname('file_own_content'),
        '5': findname('soft_source'),
        '6': findname('soft_local_all'),
        '7': findname('soft_local')
    })
   
def findname(file_flag):
    if file_flag == 'file_case':
        name = input("{COLOR_GREEN}请输入要查找的文件名：{COLOR_NONE}")
        os.system(f"find /home/ -name {name}* -print | tee find{name}.txt")
    elif file_flag == 'file_nocase':
        name = input("{COLOR_GREEN}请输入要查找的文件名：{COLOR_NONE}")
        os.system(f"find /home/ -iname {name}* -print | tee find{name}.txt")
    elif file_flag == 'file_content':
        content = input("{COLOR_GREEN}请输入要查找的内容：{COLOR_NONE}")
        os.system(f"grep -rl {content} /home /data | tee find{content}.txt")
    elif file_flag == 'file_own_content':
        content = input("{COLOR_GREEN}请输入要查找的内容：{COLOR_NONE}")
        loc = input("{COLOR_GREEN}请输入要查找的位置，多个位置用空格隔开：{COLOR_NONE}")
        os.system(f"grep -rl {content} {loc} | tee find{content}.txt")
    elif file_flag == 'soft_source':
        soft_source = input("{COLOR_GREEN}请输入要查找的内容：{COLOR_NONE}")
        os.system(f"apt search {soft_source}")
    elif file_flag == 'soft_local_all':
        print("{COLOR_GREEN}安装的软件包输出到文件中{COLOR_NONE}")
        os.system("dpkg --get-selections | tee installsoftware.txt")
    elif file_flag == 'soft_local':
        soft_local = input("{COLOR_GREEN}请输入要查找的内容：{COLOR_NONE}")
        os.system(f"dpkg --get-selections | grep {soft_local}")